﻿#define  _CRT_SECURE_NO_WARNINGS 1
//C语⾔是结构化的程序设计语⾔，这⾥的结构指的是顺序结构、选择结构、循环结构，C语⾔是能够实
//现这三种结构的，其实我们如果仔细分析，我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种
//结构的组合。
//我们可以使⽤ if 、 switch 实现分⽀结构，使⽤ for 、 while 、 do while 实现循环结构。


// if(表达式)
		//语句

//表达式成⽴（为真），则语句执⾏，表达式不成⽴（为假），则语句不执⾏
//在C语⾔中，0为假，⾮0表⽰真，也就是表达式的结果如果是0，则语句不执⾏，表达式的结果如果是
//不是0，则语句执⾏
#include <stdio.h>
//int main()
//{
//	if (1 == 2)
//		printf("ehhe");  // 不会打印，因为是假
//	return 0;
//}

// 输入一个整数判断是否为奇数
//int main()
//{
//	int num = 0;
//  // 输入
//	scanf("%d", &num);
//  // 判断
//	if (num % 2 == 1)
//		printf("%d是奇数\n", num);
//	else
//		printf("%d不是奇数\n", num);
//	return 0;
//}

//int main()
//{
//	int num = 0;
//	// 输入
//	scanf("%d", &num);
//	// 判断输出
//	if (num % 2 == 1)
//		printf("%d是奇数", num);
//	else
//		printf("%d是偶数", num);
//	return 0;
//}

//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age >= 18)
//		printf("成年");
//	else
//		printf("未成年");
//	return 0;
//}

//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age >= 18)
//		printf("成年");
//	printf("可以恋爱了");  // 报错了，因为默认情况ifelse后面只能跟一条语句
//	// 如果要多条我们要加括号
//	else
//		printf("未成年");
//	return 0;
//}

//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age >= 18)
//	{
//	printf("成年");
//	printf("可以恋爱了");
//	}
//	else
//	{
//		printf("未成年");
//		printf("不能谈恋爱");
//	}
//	return 0;
//}

// 嵌套if
//在 if else 语句中， else 可以与另⼀个 if 语句连⽤，构成多重判断。
//⽐如：要求输⼊⼀个整数，判断输⼊的整数是0，还是正数或者负数。请看如下代码：
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num == 0)
//		printf("输入的数是0");
//	else
//	{
//		if (num > 0)
//			printf("输入的数是正数");
//		else
//			printf("输入的数是负数");
//	}
//	return 0;
//}

// 这样也可以的
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num == 0)
//		printf("输入的数是0");
//	else if (num > 0)
//			printf("输入的数是正数");
//	else
//			printf("输入的数是负数");
//	
//	return 0;
//}

//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num >= 0)
//	{
//		if (num == 0)
//			printf("输入的值是0\n");
//		else
//			printf("输入的值是正数\n");
//	}
//	else
//	{
//		printf("输入的值是负数\n");
//	}
//	return 0;
//}

//输⼊⼀个⼈的年龄
//如果年龄 < 18岁，打印"少年"
//如果年龄在18岁⾄44岁打印"⻘年"
//如果年龄在45岁⾄59岁打印"中⽼年"
//如果年龄在60岁⾄89岁打印"⽼年"
//如果90岁以上打印"⽼寿星"
//int main()
//{
//	int age = 0;
//	// 输入
//	scanf("%d", &age);
//
//	// 判断和输出
//	if (age >= 18)
//	{
//		if (age >= 45)
//		{
//			if (age >= 60)
//			{
//				if (age >= 90)
//					printf("老寿星");
//				else
//					printf("老年");
//			}
//			else
//				printf("中老年");
//		}
//		else
//			printf("青年");
//	}
//	else
//		printf("少年");
//	return 0;
//}

// 这样写更简单一些
//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age < 18)
//		printf("少年\n");
//	else if (age <= 44)
//		printf("⻘年\n");
//	else if (age <= 59)
//		printf("中⽼年\n");
//	else if (age <= 89)
//		printf("⽼年\n");
//	else
//		printf("老寿星\n");
//	return 0;
//}

//  悬空else问题:如果有多个 if 和 else ，可以记住这样⼀条规则， else 总是跟最接近的 if 匹配。

// 结果是空，啥也不输出  因为下面的else和他最接近的if匹配，缩进让我们误以为和上面的if匹配
//int main()
//{
//	int a = 0;
//	int b = 2;
//	if (a == 1)
//		if (b == 2)
//			printf("hehe");
//	else
//			printf("haha\n");
//	return 0;
//}

